#ifndef CONFIGVIEW_H
#define CONFIGVIEW_H

#include <QObject>
#include <QWidget>
#include <QJsonArray>
#include <QScrollArea>
#include <QAbstractButton>

class ConfigView : public QObject
{
    Q_OBJECT
public:
    explicit ConfigView(QObject *parent = nullptr) : QObject(parent) {}
    virtual ~ConfigView() = default;

    virtual QWidget* viewWidget() = 0;
    virtual void updateConfig(const QJsonArray &config) = 0;
    virtual QJsonArray getModifiedConfig() const = 0;

    virtual void applyEdits() {}
    virtual void resetToOriginal() {}

signals:
    void configModified();
};

#endif // CONFIGVIEW_H
